package quoridor;

/**
 * Represents a move in the current game, which is stored as a target
 * coordinate and a move type.  The player making the move is also accessible.
 * @author Jono
 *
 */
public interface Move {
        /**
         * Returns the coordinate targeted by the current move.
         * @return Coordinate the target coordinate
         */
        public Coordinate getCoordinate();
        /**
         * Returns an int representing the type of move
         * 0 - Player piece being moved
         * 1 - Fence being placed vertically
         * 2 - Fence being placed horizontally
         * @return int move type
         */
        public int getType();
        
        /**
         * Returns an enummed PlayerColour showing whose move it is.
         * @return current player
         */
        public PlayerColour getPlayer();
}
